// Created by WXX on 2021/11/27 9:46
#include <iostream>
#include <vector>
#include <unordered_map>

using namespace std;

/**
 * 执行用时：16 ms, 在所有 C++ 提交中击败了88.24%的用户
 * 内存消耗：18.3 MB, 在所有 C++ 提交中击败了88.97%的用户
 */
class Solution {
public:
    int r, c, k;
    unordered_map<int, int> hash;

    Solution(int m, int n) {
        r = m, c = n;
        k = r * c;
    }

    vector<int> flip() {
        int x = rand() % k;
        int y = x;
        if (hash.count(x)) y = hash[x];
        if (hash.count(k - 1)) {
            hash[x] = hash[k - 1];
            hash.erase(k - 1);
        } else {
            hash[x] = k - 1;
        }
        k--;
        return {y / c, y % c};
    }

    void reset() {
        k = r * c;
        hash.clear();
    }
};

int main() {


    return 0;
}
